package com.chagee.store.operation.server.entity;

import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * 打烊结算
 * @Author : hk
 * @Date : 2024/10/14
 */

@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@TableName(value = "store_settlement", autoResultMap = true)
public class StoreSettlementDO extends BaseDO implements Serializable {

	@TableId(type = IdType.AUTO)
	private Long id;
	/**
	 * 单据编号
	 */
	private String settlementNo;

	/**
	 * 门店编号
	 */
	private String storeNo;

	/**
	 * 门店名称
	 */
	private String storeName;

	//门店动线数
	private Integer storeLineNum;

	//门店面积
	private String storeArea;

	//门店类型
	private String storeType;

	/**
	 * 单据类型
	 */
	private String settlementType;

	/**
	 * 结算周期
	 */
	private Date settlementCycle;

	/**
	 * 单据状态
	 */
	private String documentStatus;

	/**
	 * 关联付款单编号
	 */
	private String paymentNo;

	/**
	 * 结算平均评分
	 */
	private BigDecimal settlementScore;

	/**
	 * 供应商
	 */
	private String supplier;

	/**
	 * 供应商编码
	 */
	private String supplierNo;

	/**
	 * 交付金额
	 */
	private BigDecimal payMoney;

	/**
	 * 扣罚明细信息
	 */
	private String penalizeMoney;

	/**
	 * 店铺性质
	 */
	private String storeCategory;

	/**
	 * 所属子公司
	 */
	private String companyId;
	//所属子公司名称
	private String companyName;

	/**
	 * 加盟商ID
	 */
	private String businessId;

	/**
	 * 加盟商
	 */
	private String businessName;

	/**
	 * 备注
	 */
	private String remark;
	/**
	 * 额外的
	 */
	private String extra;

	/**
	 * 调整金额
	 */
	private BigDecimal adjustMoney;

	/**
	 * 发票信息
	 */
	private String invoice;

	/**
	 * 推送财务
	 */
	private String pushFinanceStatus;

	/**
	 * 是否需要发票(加盟店)
	 */
	private String pushInvoiceFlag;

	/**
	 * 待支付节点时间
	 */
	private LocalDateTime waitPayTime;

	/**
	 * 支付类型
	 */
	private String payType;
}
